knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = as.character(iterations)
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'planPlan',
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Actionplan',
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,15),
  "Between-Person Effects" = c(16,26),
  "Random Effects" = c(27, 33), 
  "Additional Parameters" = c(34,34)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,15+5),
  "Between-Person Effects" = c(16+5,26+5),
  "Random Effects" = c(27+5, 33+5), 
  "Additional Parameters" = c(34+5,34+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
  
    'planPlan',
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_day', 
    'hu_weartime_self_cw',

    'hu_planPlan',
    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",

    'Actionplan',
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    "Hu Day", 
    "Hu Daily weartime",

    'Hu Actionplan',
    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,16),
  "Conditional Between-Person Effects" = c(17,27),
  
  "Hurdle Within-Person Effects" = c(28,41),
  "Hurdle Between-Person Effects" = c(42,52),
  
  "Random Effects" = c(53, 66), 
  "Additional Parameters" = c(67,67)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,16+5),
  "Conditional Between-Person Effects" = c(17+5,27+5),
  
  "Hurdle Within-Person Effects" = c(28+5,41+5),
  "Hurdle Between-Person Effects" = c(42+5,52+5),
  
  "Random Effects" = c(53+5, 66+5), 
  "Additional Parameters" = c(67+5,67+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal_sensplan_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 38.50*** 2.65 [33.71, 44.19] 1.000 [0.92, 1.08] 0.000 1.001 1319 1902
Hurdle Intercept 0.27*** 0.04 [ 0.20, 0.37] 1.000 [0.84, 1.20] 0.000 1.001 1119 1990
Conditional Within-Person Effects
Daily persuasion experienced 1.03 0.03 [ 0.98, 1.09] 0.879 [0.92, 1.08] 0.963 1.006 1593 2528
Daily persuasion utilized (partner’s view) 1.03 0.02 [ 0.99, 1.08] 0.921 [0.92, 1.08] 0.978 1.003 2141 2715
Daily pressure experienced 0.91 0.05 [ 0.82, 1.00] 0.971 [0.92, 1.08] 0.354 1.004 3008 2605
Daily pressure utilized (partner’s view) 0.94 0.04 [ 0.86, 1.02] 0.923 [0.92, 1.08] 0.641 1.001 3396 2967
Daily pushing experienced 0.99 0.03 [ 0.92, 1.05] 0.672 [0.92, 1.08] 0.964 1.001 2832 2787
Daily pushing utilized (partner’s view) 0.97 0.03 [ 0.91, 1.03] 0.832 [0.92, 1.08] 0.943 1.001 3225 2610
Day 1.00 0.06 [ 0.88, 1.12] 0.526 [0.92, 1.08] 0.793 1.001 4871 2934
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan 1.37*** 0.06 [ 1.25, 1.49] 1.000 [0.92, 1.08] 0.000 1.002 4565 2978
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.94 0.14 [ 0.70, 1.29] 0.660 [0.92, 1.08] 0.368 1.006 825 1469
Mean persuasion utilized (partner’s view) 1.00 0.15 [ 0.75, 1.36] 0.509 [0.92, 1.08] 0.392 1.004 799 1352
Mean pressure experienced 1.23 0.22 [ 0.87, 1.72] 0.875 [0.92, 1.08] 0.180 1.004 1159 2256
Mean pressure utilized (partner’s view) 0.94 0.17 [ 0.65, 1.33] 0.643 [0.92, 1.08] 0.319 1.007 1146 2111
Mean pushing experienced 1.19 0.28 [ 0.72, 1.90] 0.769 [0.92, 1.08] 0.204 1.002 1036 1447
Mean pushing utilized (partner’s view) 1.07 0.26 [ 0.65, 1.74] 0.622 [0.92, 1.08] 0.249 1.001 1028 1430
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 1.14** 0.05 [ 1.04, 1.25] 0.997 [0.92, 1.08] 0.141 1.001 1648 2517
Mean support provided (partner’s view) 0.98 0.05 [ 0.89, 1.07] 0.687 [0.92, 1.08] 0.864 1.001 1650 2469
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.59*** 0.11 [ 1.40, 1.85] 1.000 [0.84, 1.20] 0.000 1.000 2675 2600
Hu Daily persuasion utilized (partner’s view) 1.34*** 0.08 [ 1.19, 1.54] 1.000 [0.84, 1.20] 0.032 1.000 2632 2520
Hu Daily pressure experienced 0.97 0.15 [ 0.69, 1.34] 0.587 [0.84, 1.20] 0.734 1.001 3316 2443
Hu Daily pressure utilized (partner’s view) 1.48* 0.28 [ 1.05, 2.28] 0.987 [0.84, 1.20] 0.116 1.001 3380 2341
Hu Daily pushing experienced 0.96 0.15 [ 0.72, 1.31] 0.618 [0.84, 1.20] 0.743 1.001 2134 2610
Hu Daily pushing utilized (partner’s view) 1.32* 0.15 [ 1.07, 1.70] 0.994 [0.84, 1.20] 0.184 1.001 3274 2892
Hu Day 0.86 0.13 [ 0.64, 1.16] 0.845 [0.84, 1.20] 0.567 1.001 7130 2701
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Actionplan 9.97*** 0.95 [ 8.27, 12.04] 1.000 [0.84, 1.20] 0.000 1.001 4825 2924
Hu Daily support received NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.23 0.43 [ 0.61, 2.42] 0.721 [0.84, 1.20] 0.334 1.003 845 1673
Hu Mean persuasion utilized (partner’s view) 1.09 0.37 [ 0.55, 2.22] 0.608 [0.84, 1.20] 0.384 1.003 874 1331
Hu Mean pressure experienced 0.43* 0.18 [ 0.20, 0.94] 0.981 [0.84, 1.20] 0.040 1.002 1476 1580
Hu Mean pressure utilized (partner’s view) 0.54 0.22 [ 0.25, 1.19] 0.935 [0.84, 1.20] 0.123 1.002 1496 2371
Hu Mean pushing experienced 0.76 0.42 [ 0.26, 2.25] 0.692 [0.84, 1.20] 0.230 1.003 1222 2213
Hu Mean pushing utilized (partner’s view) 1.46 0.79 [ 0.49, 4.30] 0.759 [0.84, 1.20] 0.205 1.002 1238 2268
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.21 0.14 [ 0.97, 1.53] 0.953 [0.84, 1.20] 0.463 1.001 1531 2462
Hu Mean support provided (partner’s view) 1.29* 0.15 [ 1.04, 1.64] 0.988 [0.84, 1.20] 0.262 1.001 1403 2041
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 0.04 [0.23, 0.40] NA NA NA 1.004 969 1963
sd(Hurdle Intercept) 0.69 0.10 [0.52, 0.91] NA NA NA 1.004 1083 1975
sd(Daily persuasion experienced) 0.12 0.02 [0.08, 0.17] NA NA NA 1.000 2205 2782
sd(Daily persuasion utilized (partner’s view)) 0.08 0.02 [0.04, 0.13] NA NA NA 1.001 2508 2732
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.23] NA NA NA 1.001 1588 1597
sd(Daily pressure utilized (partner’s view)) 0.06 0.05 [0.00, 0.18] NA NA NA 1.001 1928 1794
sd(Daily pushing experienced) 0.09 0.04 [0.03, 0.18] NA NA NA 1.000 1716 1601
sd(Daily pushing utilized (partner’s view)) 0.08 0.03 [0.01, 0.15] NA NA NA 1.003 1306 954
sd(Hu Daily persuasion experienced) 0.21 0.09 [0.03, 0.41] NA NA NA 1.002 818 767
sd(Hu Daily persuasion utilized (partner’s view)) 0.17 0.09 [0.01, 0.36] NA NA NA 1.008 919 1098
sd(Hu Daily pressure experienced) 0.19 0.17 [0.01, 0.75] NA NA NA 1.003 1864 1920
sd(Hu Daily pressure utilized (partner’s view)) 0.23 0.21 [0.01, 0.93] NA NA NA 1.001 1539 1791
sd(Hu Daily pushing experienced) 0.58 0.16 [0.31, 0.99] NA NA NA 1.000 1607 2134
sd(Hu Daily pushing utilized (partner’s view)) 0.22 0.14 [0.01, 0.52] NA NA NA 1.001 1442 1087
Additional Parameters
sigma 0.68 0.01 [0.65, 0.70] NA NA NA 1.001 5184 3032
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.72). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian_sensplan_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 112.69*** 6.04 [101.42, 125.34] 1.000 [0.94, 1.07] 0.000 1.008 1119 2147
Within-Person Effects
Daily persuasion experienced 1.03 0.01 [ 1.00, 1.06] 0.957 [0.94, 1.07] 0.995 1.002 4239 3284
Daily persuasion utilized (partner’s view) 1.02 0.02 [ 0.99, 1.05] 0.869 [0.94, 1.07] 0.997 1.001 4379 3008
Daily pressure experienced 0.95 0.03 [ 0.89, 1.01] 0.938 [0.94, 1.07] 0.628 1.000 4780 2927
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.92, 1.05] 0.735 [0.94, 1.07] 0.912 1.001 6292 2777
Daily pushing experienced 1.02 0.03 [ 0.97, 1.07] 0.738 [0.94, 1.07] 0.966 1.001 3878 2862
Daily pushing utilized (partner’s view) 1.01 0.02 [ 0.96, 1.05] 0.608 [0.94, 1.07] 0.997 1.001 6112 2920
Day 0.97 0.03 [ 0.91, 1.04] 0.796 [0.94, 1.07] 0.852 1.004 8015 2222
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.000 4341 2971
Actionplan 1.09** 0.02 [ 1.04, 1.14] 1.000 [0.94, 1.07] 0.203 1.000 7854 3199
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.06 0.15 [ 0.79, 1.41] 0.658 [0.94, 1.07] 0.330 1.005 965 1359
Mean persuasion utilized (partner’s view) 0.98 0.14 [ 0.73, 1.31] 0.570 [0.94, 1.07] 0.346 1.005 944 1351
Mean pressure experienced 1.02 0.15 [ 0.77, 1.37] 0.544 [0.94, 1.07] 0.354 1.003 1274 2021
Mean pressure utilized (partner’s view) 0.96 0.14 [ 0.73, 1.28] 0.597 [0.94, 1.07] 0.331 1.004 1181 2144
Mean pushing experienced 0.91 0.21 [ 0.59, 1.48] 0.658 [0.94, 1.07] 0.203 1.003 1209 1771
Mean pushing utilized (partner’s view) 1.11 0.26 [ 0.73, 1.83] 0.673 [0.94, 1.07] 0.209 1.003 1163 1852
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.944 [0.94, 1.07] 1.000 1.001 5241 3508
Mean support received 1.07 0.04 [ 0.98, 1.16] 0.942 [0.94, 1.07] 0.491 1.001 1419 2383
Mean support provided (partner’s view) 1.00 0.04 [ 0.92, 1.09] 0.530 [0.94, 1.07] 0.868 1.000 1615 2375
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 0.04 [0.23, 0.39] NA NA NA 1.003 1300 2251
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.08] NA NA NA 1.000 2489 1681
sd(Daily persuasion utilized (partner’s view)) 0.05 0.02 [0.03, 0.09] NA NA NA 1.001 2391 1943
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.13] NA NA NA 1.002 2196 1974
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.11] NA NA NA 1.002 2616 2146
sd(Daily pushing experienced) 0.08 0.04 [0.01, 0.15] NA NA NA 1.004 1161 1267
sd(Daily pushing utilized (partner’s view)) 0.03 0.03 [0.00, 0.09] NA NA NA 1.003 1782 2363
Additional Parameters
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.000 6815 2800
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.89), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.74), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.73), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.71), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.77), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.86). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss_sensplan_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.66*** 0.11 [ 3.44, 3.88] 1.000 [-0.11, 0.11] 0.000 1.007 482 824
Within-Person Effects
Daily persuasion experienced 0.00 0.02 [-0.04, 0.05] 0.526 [-0.11, 0.11] 1.000 1.002 3207 2666
Daily persuasion utilized (partner’s view) 0.02 0.02 [-0.02, 0.07] 0.827 [-0.11, 0.11] 1.000 1.001 2621 2481
Daily pressure experienced -0.03 0.05 [-0.14, 0.07] 0.703 [-0.11, 0.11] 0.934 1.000 3471 2748
Daily pressure utilized (partner’s view) -0.03 0.05 [-0.15, 0.08] 0.699 [-0.11, 0.11] 0.929 1.001 3407 2832
Daily pushing experienced 0.00 0.03 [-0.06, 0.07] 0.550 [-0.11, 0.11] 0.999 1.000 3663 2822
Daily pushing utilized (partner’s view) 0.07 0.03 [ 0.00, 0.13] 0.971 [-0.11, 0.11] 0.917 1.001 3105 3016
Day 0.26*** 0.06 [ 0.15, 0.37] 1.000 [-0.11, 0.11] 0.005 1.001 5440 2780
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan 0.09** 0.04 [ 0.02, 0.16] 0.997 [-0.11, 0.11] 0.734 1.000 5065 3260
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 0.24 0.28 [-0.35, 0.80] 0.799 [-0.11, 0.11] 0.218 1.008 465 656
Mean persuasion utilized (partner’s view) 0.31 0.28 [-0.27, 0.87] 0.857 [-0.11, 0.11] 0.178 1.009 461 624
Mean pressure experienced -0.25 0.27 [-0.81, 0.32] 0.808 [-0.11, 0.11] 0.206 1.009 533 939
Mean pressure utilized (partner’s view) -0.35 0.27 [-0.89, 0.20] 0.891 [-0.11, 0.11] 0.146 1.009 492 823
Mean pushing experienced 0.25 0.40 [-0.57, 1.03] 0.732 [-0.11, 0.11] 0.181 1.002 668 1126
Mean pushing utilized (partner’s view) 0.21 0.40 [-0.62, 1.01] 0.693 [-0.11, 0.11] 0.191 1.002 656 1084
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.14 0.08 [-0.01, 0.30] 0.961 [-0.11, 0.11] 0.378 1.008 670 1726
Mean support provided (partner’s view) -0.10 0.08 [-0.25, 0.06] 0.885 [-0.11, 0.11] 0.591 1.008 538 1310
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.60 0.08 [0.48, 0.79] NA NA NA 1.008 668 1121
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.003 1014 1731
sd(Daily persuasion utilized (partner’s view)) 0.07 0.03 [0.01, 0.13] NA NA NA 1.002 1093 1177
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.25] NA NA NA 1.001 1509 1543
sd(Daily pressure utilized (partner’s view)) 0.08 0.07 [0.00, 0.27] NA NA NA 1.000 1425 1773
sd(Daily pushing experienced) 0.05 0.04 [0.00, 0.14] NA NA NA 1.004 1247 1133
sd(Daily pushing utilized (partner’s view)) 0.07 0.05 [0.00, 0.16] NA NA NA 1.000 1111 1189
Additional Parameters
sigma 0.96 0.01 [0.93, 0.98] NA NA NA 1.000 5233 2971
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.82), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.8), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.8), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.82), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.76), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.9), b_support_partner_cb and b_support_self_cb
##   (r = 0.77). This might lead to inappropriate results. See 'Details' in
##   '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal_sensplan_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 3.56*** 1.07 [ 2.01, 6.41] 1.000 [0.84, 1.20] 0.000 1.001 2922 3190
Intercept[2] 7.72*** 2.43 [ 4.27, 14.29] 1.000 [0.84, 1.20] 0.000 1.001 3081 3081
Intercept[3] 21.44*** 7.00 [ 11.42, 41.86] 1.000 [0.84, 1.20] 0.000 1.000 3379 3030
Intercept[4] 93.60*** 35.12 [ 46.82, 208.23] 1.000 [0.84, 1.20] 0.000 1.000 3893 2447
Intercept[5] 3219.53*** 2100.22 [1008.82, 12813.37] 1.000 [0.84, 1.20] 0.000 1.000 4248 2803
Within-Person Effects
Daily persuasion experienced 0.85* 0.07 [ 0.72, 1.00] 0.977 [0.84, 1.20] 0.586 1.000 3393 2751
Daily persuasion utilized (partner’s view) 1.02 0.10 [ 0.83, 1.24] 0.589 [0.84, 1.20] 0.912 1.001 3601 3151
Daily pressure experienced 1.83* 0.35 [ 1.14, 2.59] 0.994 [0.84, 1.20] 0.033 1.002 2138 2172
Daily pressure utilized (partner’s view) 1.24 0.30 [ 0.70, 2.13] 0.810 [0.84, 1.20] 0.379 1.000 2203 2130
Daily pushing experienced 1.21 0.14 [ 0.97, 1.52] 0.962 [0.84, 1.20] 0.447 1.001 2568 2658
Daily pushing utilized (partner’s view) 0.92 0.11 [ 0.72, 1.20] 0.739 [0.84, 1.20] 0.768 1.002 3148 2666
Day 1.48 0.52 [ 0.75, 2.89] 0.864 [0.84, 1.20] 0.228 1.000 4468 3021
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan 0.84 0.21 [ 0.51, 1.37] 0.752 [0.84, 1.20] 0.426 1.000 4035 3006
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 1.27 0.68 [ 0.44, 3.81] 0.678 [0.84, 1.20] 0.239 1.002 1361 2330
Mean persuasion utilized (partner’s view) 1.43 0.82 [ 0.46, 5.12] 0.737 [0.84, 1.20] 0.199 1.002 1564 1965
Mean pressure experienced 3.49* 1.95 [ 1.13, 10.80] 0.986 [0.84, 1.20] 0.025 1.002 1653 2339
Mean pressure utilized (partner’s view) 1.13 0.66 [ 0.35, 3.45] 0.583 [0.84, 1.20] 0.228 1.001 1493 2354
Mean pushing experienced 1.79 1.48 [ 0.36, 9.61] 0.754 [0.84, 1.20] 0.136 1.001 1845 2168
Mean pushing utilized (partner’s view) 0.15 0.14 [ 0.02, 1.00] 0.975 [0.84, 1.20] 0.022 1.001 2251 2301
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.73 0.21 [ 0.41, 1.31] 0.859 [0.84, 1.20] 0.279 1.000 2835 2938
Mean support provided (partner’s view) 0.92 0.21 [ 0.57, 1.44] 0.642 [0.84, 1.20] 0.548 1.001 2707 2481
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.80 0.20 [0.46, 1.27] NA NA NA 1.001 1665 2397
sd(Daily persuasion experienced) 0.16 0.12 [0.01, 0.42] NA NA NA 1.004 884 1352
sd(Daily persuasion utilized (partner’s view)) 0.21 0.14 [0.01, 0.53] NA NA NA 1.004 916 1203
sd(Daily pressure experienced) 0.53 0.24 [0.09, 1.15] NA NA NA 1.001 900 445
sd(Daily pressure utilized (partner’s view)) 0.44 0.40 [0.02, 1.64] NA NA NA 1.004 1089 1909
sd(Daily pushing experienced) 0.22 0.14 [0.02, 0.53] NA NA NA 1.008 972 1160
sd(Daily pushing utilized (partner’s view)) 0.15 0.14 [0.01, 0.62] NA NA NA 1.003 1453 1550
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.79), b_Intercept[4] and b_Intercept[3] (r = 0.85),
##   b_pressure_self_cb and b_persuasion_self_cb (r = 0.7),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.79). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="02_SensitivityPlan_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    #isWeekend + 
    #got_JITAI_self + 
    #skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    support_self_cb + support_partner_cb + 
    #studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance_sensplan_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.32*** 0.10 [0.16, 0.61] 1.000 [0.83, 1.20] 0.002 1.002 3189 3262
Within-Person Effects
Daily persuasion experienced 0.85 0.08 [0.70, 1.01] 0.968 [0.83, 1.20] 0.557 1.003 2999 3079
Daily persuasion utilized (partner’s view) 1.11 0.16 [0.82, 1.52] 0.760 [0.83, 1.20] 0.677 1.001 2062 2447
Daily pressure experienced 1.96* 0.62 [1.00, 4.44] 0.976 [0.83, 1.20] 0.058 1.002 1853 1549
Daily pressure utilized (partner’s view) 1.44 0.61 [0.60, 4.93] 0.819 [0.83, 1.20] 0.230 1.001 2127 1652
Daily pushing experienced 1.33* 0.18 [1.02, 1.76] 0.980 [0.83, 1.20] 0.224 1.000 2579 2699
Daily pushing utilized (partner’s view) 0.91 0.18 [0.61, 1.35] 0.694 [0.83, 1.20] 0.594 1.001 2985 2833
Day 1.64 0.65 [0.74, 3.49] 0.892 [0.83, 1.20] 0.166 1.002 4414 3251
Daily weartime NA NA NA NA NA NA NA NA NA
Actionplan 0.83 0.22 [0.49, 1.43] 0.756 [0.83, 1.20] 0.404 1.001 3581 2968
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA
Between-Person Effects
Mean persuasion experienced 2.04 1.29 [0.63, 7.27] 0.878 [0.83, 1.20] 0.120 1.002 1972 2498
Mean persuasion utilized (partner’s view) 2.01 1.40 [0.53, 7.95] 0.841 [0.83, 1.20] 0.128 1.002 1551 2453
Mean pressure experienced 19.45** 20.56 [2.52, 170.41] 0.998 [0.83, 1.20] 0.002 1.000 2387 2552
Mean pressure utilized (partner’s view) 2.47 2.85 [0.23, 22.98] 0.785 [0.83, 1.20] 0.093 1.002 1939 2464
Mean pushing experienced 1.25 1.29 [0.16, 9.49] 0.591 [0.83, 1.20] 0.141 0.999 2168 2583
Mean pushing utilized (partner’s view) 0.10* 0.11 [0.01, 0.84] 0.982 [0.83, 1.20] 0.013 1.000 2451 2868
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received 0.77 0.26 [0.39, 1.46] 0.775 [0.83, 1.20] 0.313 1.002 2988 2995
Mean support provided (partner’s view) 0.83 0.22 [0.48, 1.39] 0.759 [0.83, 1.20] 0.414 1.001 2674 2511
Difference study group 2 NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 1.14 0.25 [0.72, 1.75] NA NA NA 1.002 1522 2512
sd(Daily persuasion experienced) 0.20 0.14 [0.01, 0.51] NA NA NA 1.007 729 1254
sd(Daily persuasion utilized (partner’s view)) 0.48 0.20 [0.14, 0.96] NA NA NA 1.000 1304 1239
sd(Daily pressure experienced) 1.06 0.57 [0.11, 2.42] NA NA NA 1.004 843 851
sd(Daily pressure utilized (partner’s view)) 0.84 0.67 [0.05, 2.74] NA NA NA 1.000 1187 1822
sd(Daily pushing experienced) 0.28 0.16 [0.03, 0.65] NA NA NA 1.002 1198 1431
sd(Daily pushing utilized (partner’s view)) 0.26 0.23 [0.01, 0.95] NA NA NA 1.001 1550 1979
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="02_SensitivityPlan_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", "AllModels_sensPlan.xlsx"), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 38.50*** [33.71, 44.19] 1.000 112.69*** [101.42, 125.34] 1.000 3.66*** [ 3.44, 3.88] 1.000 NA NA NA 0.32*** [0.16, 0.61] 1.000
Hurdle Intercept 0.27*** [ 0.20, 0.37] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 1.03 [ 0.98, 1.09] 0.879 1.03 [ 1.00, 1.06] 0.957 0.00 [-0.04, 0.05] 0.526 0.85* [ 0.72, 1.00] 0.977 0.85 [0.70, 1.01] 0.968
Daily persuasion utilized (partner’s view) 1.03 [ 0.99, 1.08] 0.921 1.02 [ 0.99, 1.05] 0.869 0.02 [-0.02, 0.07] 0.827 1.02 [ 0.83, 1.24] 0.589 1.11 [0.82, 1.52] 0.760
Daily pressure experienced 0.91 [ 0.82, 1.00] 0.971 0.95 [ 0.89, 1.01] 0.938 -0.03 [-0.14, 0.07] 0.703 1.83* [ 1.14, 2.59] 0.994 1.96* [1.00, 4.44] 0.976
Daily pressure utilized (partner’s view) 0.94 [ 0.86, 1.02] 0.923 0.98 [ 0.92, 1.05] 0.735 -0.03 [-0.15, 0.08] 0.699 1.24 [ 0.70, 2.13] 0.810 1.44 [0.60, 4.93] 0.819
Daily pushing experienced 0.99 [ 0.92, 1.05] 0.672 1.02 [ 0.97, 1.07] 0.738 0.00 [-0.06, 0.07] 0.550 1.21 [ 0.97, 1.52] 0.962 1.33* [1.02, 1.76] 0.980
Daily pushing utilized (partner’s view) 0.97 [ 0.91, 1.03] 0.832 1.01 [ 0.96, 1.05] 0.608 0.07 [ 0.00, 0.13] 0.971 0.92 [ 0.72, 1.20] 0.739 0.91 [0.61, 1.35] 0.694
Day 1.00 [ 0.88, 1.12] 0.526 0.97 [ 0.91, 1.04] 0.796 0.26*** [ 0.15, 0.37] 1.000 1.48 [ 0.75, 2.89] 0.864 1.64 [0.74, 3.49] 0.892
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Actionplan 1.37*** [ 1.25, 1.49] 1.000 1.09** [ 1.04, 1.14] 1.000 0.09** [ 0.02, 0.16] 0.997 0.84 [ 0.51, 1.37] 0.752 0.83 [0.49, 1.43] 0.756
Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Between-Person Effects
Mean persuasion experienced 0.94 [ 0.70, 1.29] 0.660 1.06 [ 0.79, 1.41] 0.658 0.24 [-0.35, 0.80] 0.799 1.27 [ 0.44, 3.81] 0.678 2.04 [0.63, 7.27] 0.878
Mean persuasion utilized (partner’s view) 1.00 [ 0.75, 1.36] 0.509 0.98 [ 0.73, 1.31] 0.570 0.31 [-0.27, 0.87] 0.857 1.43 [ 0.46, 5.12] 0.737 2.01 [0.53, 7.95] 0.841
Mean pressure experienced 1.23 [ 0.87, 1.72] 0.875 1.02 [ 0.77, 1.37] 0.544 -0.25 [-0.81, 0.32] 0.808 3.49* [ 1.13, 10.80] 0.986 19.45** [2.52, 170.41] 0.998
Mean pressure utilized (partner’s view) 0.94 [ 0.65, 1.33] 0.643 0.96 [ 0.73, 1.28] 0.597 -0.35 [-0.89, 0.20] 0.891 1.13 [ 0.35, 3.45] 0.583 2.47 [0.23, 22.98] 0.785
Mean pushing experienced 1.19 [ 0.72, 1.90] 0.769 0.91 [ 0.59, 1.48] 0.658 0.25 [-0.57, 1.03] 0.732 1.79 [ 0.36, 9.61] 0.754 1.25 [0.16, 9.49] 0.591
Mean pushing utilized (partner’s view) 1.07 [ 0.65, 1.74] 0.622 1.11 [ 0.73, 1.83] 0.673 0.21 [-0.62, 1.01] 0.693 0.15 [ 0.02, 1.00] 0.975 0.10* [0.01, 0.84] 0.982
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.944 NA NA NA NA NA NA NA NA NA
Mean support received 1.14** [ 1.04, 1.25] 0.997 1.07 [ 0.98, 1.16] 0.942 0.14 [-0.01, 0.30] 0.961 0.73 [ 0.41, 1.31] 0.859 0.77 [0.39, 1.46] 0.775
Mean support provided (partner’s view) 0.98 [ 0.89, 1.07] 0.687 1.00 [ 0.92, 1.09] 0.530 -0.10 [-0.25, 0.06] 0.885 0.92 [ 0.57, 1.44] 0.642 0.83 [0.48, 1.39] 0.759
Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.59*** [ 1.40, 1.85] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.34*** [ 1.19, 1.54] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.97 [ 0.69, 1.34] 0.587 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.48* [ 1.05, 2.28] 0.987 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 0.96 [ 0.72, 1.31] 0.618 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.32* [ 1.07, 1.70] 0.994 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 0.86 [ 0.64, 1.16] 0.845 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Actionplan 9.97*** [ 8.27, 12.04] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.23 [ 0.61, 2.42] 0.721 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 1.09 [ 0.55, 2.22] 0.608 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.43* [ 0.20, 0.94] 0.981 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.54 [ 0.25, 1.19] 0.935 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 0.76 [ 0.26, 2.25] 0.692 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 1.46 [ 0.49, 4.30] 0.759 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received 1.21 [ 0.97, 1.53] 0.953 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) 1.29* [ 1.04, 1.64] 0.988 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 [0.23, 0.40] NA 0.30 [0.23, 0.39] NA 0.60 [0.48, 0.79] NA 0.80 [0.46, 1.27] NA 1.14 [0.72, 1.75] NA
sd(Hurdle Intercept) 0.69 [0.52, 0.91] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.12 [0.08, 0.17] NA 0.05 [0.02, 0.08] NA 0.04 [0.00, 0.10] NA 0.16 [0.01, 0.42] NA 0.20 [0.01, 0.51] NA
sd(Daily persuasion utilized (partner’s view)) 0.08 [0.04, 0.13] NA 0.05 [0.03, 0.09] NA 0.07 [0.01, 0.13] NA 0.21 [0.01, 0.53] NA 0.48 [0.14, 0.96] NA
sd(Daily pressure experienced) 0.07 [0.00, 0.23] NA 0.04 [0.00, 0.13] NA 0.07 [0.00, 0.25] NA 0.53 [0.09, 1.15] NA 1.06 [0.11, 2.42] NA
sd(Daily pressure utilized (partner’s view)) 0.06 [0.00, 0.18] NA 0.03 [0.00, 0.11] NA 0.08 [0.00, 0.27] NA 0.44 [0.02, 1.64] NA 0.84 [0.05, 2.74] NA
sd(Daily pushing experienced) 0.09 [0.03, 0.18] NA 0.08 [0.01, 0.15] NA 0.05 [0.00, 0.14] NA 0.22 [0.02, 0.53] NA 0.28 [0.03, 0.65] NA
sd(Daily pushing utilized (partner’s view)) 0.08 [0.01, 0.15] NA 0.03 [0.00, 0.09] NA 0.07 [0.00, 0.16] NA 0.15 [0.01, 0.62] NA 0.26 [0.01, 0.95] NA
sd(Hu Daily persuasion experienced) 0.21 [0.03, 0.41] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.17 [0.01, 0.36] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.19 [0.01, 0.75] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.23 [0.01, 0.93] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.58 [0.31, 0.99] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.22 [0.01, 0.52] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.68 [0.65, 0.70] NA 0.57 [0.56, 0.59] NA 0.96 [0.93, 0.98] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()